home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2004 July / APC0407D2.iso / workshop / onlineco / files / ImageMagick-6.0.1-Q16-windows-dll.exe / {app} / include / magick / log.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-04-13  |  2.7 KB  |  130 lines

  1. /*
  2.   Log methods.
  3. */
  4. #ifndef _MAGICK_LOG_H
  5. #define _MAGICK_LOG_H
  6.  
  7. #if defined(__cplusplus) || defined(c_plusplus)
  8. extern "C" {
  9. #endif
  10.  
  11. #include "magick/error.h"
  12.  
  13. #if !defined(__attribute__)
  14. #  define __attribute__(x) /*nothing*/
  15. #endif
  16.  
  17. #if !defined(GetUnadornedModuleName)
  18. # if (((defined(__cplusplus) || defined(c_plusplus)) && defined(HAS_CPP__func__)) || \
  19.       (!(defined(__cplusplus) || defined(c_plusplus)) && defined(HAS_C__func__)))
  20. #  define GetUnadornedModuleName() (__func__)
  21. # elif defined(_VISUALC_) && defined(__FUNCTION__)
  22. #  define GetUnadornedModuleName() (__FUNCTION__)
  23. # else
  24. #  define GetUnadornedModuleName() ("unknown")
  25. # endif
  26. #endif
  27. #if !defined(GetMagickModule)
  28. # define GetMagickModule()  \
  29.   __FILE__,GetUnadornedModuleName(),(unsigned long) __LINE__
  30. #endif
  31.  
  32. #define MagickLogFilename  "log.mgk"
  33.  
  34. typedef enum
  35. {
  36.   UndefinedEvents,
  37.   NoEvents = 0x0000,
  38.   TraceEvent = 0x0001,
  39.   AnnotateEvent = 0x0002,
  40.   BlobEvent = 0x0004,
  41.   CacheEvent = 0x0008,
  42.   CoderEvent = 0x0010,
  43.   ConfigureEvent = 0x0020,
  44.   DeprecateEvent = 0x0040,
  45.   DrawEvent = 0x0080,
  46.   ExceptionEvent = 0x0100,
  47.   LocaleEvent = 0x0200,
  48.   ModuleEvent = 0x0400,
  49.   ResourceEvent = 0x0800,
  50.   TransformEvent = 0x1000,
  51.   X11Event = 0x2000,
  52.   UserEvent = 0x4000,
  53.   AllEvents = 0x7fffffff
  54. } LogEventType;
  55.  
  56. typedef enum
  57. {
  58.   UndefinedHandler = 0x0000,
  59.   NoHandler = 0x0000,
  60.   ConsoleHandler = 0x0001,
  61.   StdoutHandler = 0x0002,
  62.   StderrHandler = 0x0004,
  63.   FileHandler = 0x0008
  64. } LogHandlerType;
  65.  
  66. typedef struct _LogInfo
  67. {
  68.   LogEventType
  69.     event_mask;
  70.  
  71.   LogHandlerType
  72.     handler_mask;
  73.  
  74.   char
  75.     *path,
  76.     *name,
  77.     *filename,
  78.     *format;
  79.  
  80.   unsigned long
  81.     generations,
  82.     limit;
  83.  
  84.   FILE
  85.     *file;
  86.  
  87.   unsigned long
  88.     generation,
  89.     count;
  90.  
  91.   unsigned int
  92.     stealth;
  93.  
  94.   TimerInfo
  95.     timer;
  96.  
  97.   struct _LogInfo
  98.     *previous,
  99.     *next;  /* deprecated, use GetLogInfoList() */
  100.  
  101.   unsigned long
  102.     signature;
  103. } LogInfo;
  104.  
  105. extern MagickExport char
  106.   **GetLogList(const char *,unsigned long *);
  107.                                                                                 
  108. extern MagickExport const LogInfo
  109.   *GetLogInfo(const char *,ExceptionInfo *),
  110.   **GetLogInfoList(const char *,unsigned long *);
  111.  
  112. extern MagickExport LogEventType
  113.   SetLogEventMask(const char *);
  114.  
  115. extern MagickExport unsigned int
  116.   IsEventLogging(void),
  117.   ListLogInfo(FILE *,ExceptionInfo *),
  118.   LogMagickEvent(const LogEventType,const char *,const char *,
  119.     const unsigned long,const char *,...) __attribute__((format (printf,5,6)));
  120.  
  121. extern MagickExport void
  122.   DestroyLogList(void),
  123.   SetLogFormat(const char *);
  124.  
  125. #if defined(__cplusplus) || defined(c_plusplus)
  126. }
  127. #endif
  128.  
  129. #endif
  130.